import request from '@/utils/request'
import { useAuthStore } from '@/stores/auth'

/**
 * 用户登录
 * @param {object} credentials - 登录凭据
 * @param {string} credentials.username - 用户名
 * @param {string} credentials.password - 密码
 * @returns {Promise} 登录结果Promise
 */
export async function login(credentials) {
  try {
    const response = await request({
      url: '/api/login',
      method: 'post',
      data: {
        username: credentials.username,
        password: credentials.password
      }
    })
    
    return response
  } catch (error) {
    console.error('Login error:', error)
    throw error
  }
}

/**
 * 用户登出
 * @returns {Promise} 登出结果Promise
 */
export async function logout() {
  // 在实际应用中，这里可能需要调用后端登出接口
  // 清除本地存储的token等信息
  const authStore = useAuthStore()
  authStore.logout()
  return Promise.resolve()
}

/**
 * 检查用户是否已登录
 * @returns {boolean} 是否已登录
 */
export function isLoggedIn() {
  // 使用Pinia store检查登录状态
  const authStore = useAuthStore()
  authStore.checkAuthStatus()
  return authStore.isAuthenticated
}

/**
 * 获取用户信息
 * @returns {object|null} 用户信息
 */
export function getUserInfo() {
  // 使用Pinia store获取用户信息
  const authStore = useAuthStore()
  return authStore.userInfo
}